package com.gxc.array;

import java.util.Arrays;

/**
 * 3098. 求出所有子序列的能量和
 * 给你一个长度为 n 的整数数组 nums 和一个 正 整数 k 。
 *
 * 一个子序列的 能量 定义为子序列中 任意 两个元素的差值绝对值的 最小值 。
 *
 * 请你返回 nums 中长度 等于 k 的 所有 子序列的 能量和 。
 *
 * 由于答案可能会很大，将答案对 109 + 7 取余 后返回
 */
public class SumOfPowers {

    public static void main(String[] args) {
        System.out.println(handle(new int[]{1,2,3,4}, 3));
        //System.out.println(handle(new int[]{2,2}, 2));
        //System.out.println(handle(new int[]{4,3,-1}, 2));
    }

    /**
     * 动态规划计算K 长的子序列一共有多少个
     * dp[i][k] 以 i 结尾的  长度为k长的子序列 有多少个
     * dp[i][k] = i必选 ,从剩余的0...i-1 中选出 k-1个数，C(k-1/i-1)
     * @param nums
     * @param k
     * @return
     */
    public static int handle(int[] nums, int k) {
        int res = 0;
        //排序
        Arrays.sort(nums);

        return (int) (res%1000000007);
    }

    public static int c(int n, int s) {
        int nsum = 1;
        for (int i = 0; i < s; i++) {
            nsum = nsum * (n-i);
        }
        int ssum = 1;
        for (int i = 1; i <= s; i++) {
            ssum = ssum * i;
        }
        return nsum/ssum;
    }
}
